package utils;

import android.app.Activity;
import android.content.SharedPreferences;

import com.ebo.agora.openvcall.AGApplication;

import java.util.HashMap;
import java.util.Map;

import http_utils.interfaces.IHttpPostListener;
import http_utils.utils.Ipost;
import http_utils.utils.URLs;

import static android.content.Context.MODE_PRIVATE;

/**
 * Created by admin on 2017/5/5.
 */

public class Pub {
    private static final String SharedPreferencesName = "user_info";

    public static void saveValue(String key, String value) {
//        String key=null,value=null;
//        key = et_username.getText().toString();
//        value = et_password.getText().toString();
        //创建sharedPreference对象，info表示文件名，MODE_PRIVATE表示访问权限为私有的
        SharedPreferences sp = AGApplication.getInstance().getSharedPreferences(SharedPreferencesName, MODE_PRIVATE);

        //获得sp的编辑器
        SharedPreferences.Editor ed = sp.edit();

        //以键值对的显示将用户名和密码保存到sp中
        if (value != null) {
            ed.putString(key, value);
        }
        ed.putString("hasrecord", "true");
        //提交用户名和密码
        ed.commit();
    }

    public static String readValue(String key) {
        SharedPreferences sp = AGApplication.getInstance().getSharedPreferences(SharedPreferencesName, MODE_PRIVATE);
        String hasrecord = sp.getString("hasrecord", "false");
        if (hasrecord.equals("true")) {
            //获得保存在SharedPredPreferences中的用户名和密码
            String value = sp.getString(key, "");
            return value;
        }
        return null;
    }

    public static void delValue(String key) {
        SharedPreferences sp = AGApplication.getInstance().getSharedPreferences(SharedPreferencesName, MODE_PRIVATE);
        String hasrecord = sp.getString("hasrecord", "false");
        if (hasrecord.equals("true")) {
            SharedPreferences.Editor ed = sp.edit();
            ed.remove(key);
            ed.commit();
        }
    }


    //获取订单
    public static void send_GetOrder(Activity activity, String uid, String order_id, String token, IHttpPostListener i) {
        Map<String, Object> postParams = new HashMap<String, Object>();
        postParams.put("uid", uid);//付费类型
        postParams.put("order_id", order_id);
        postParams.put("token", token);

        Ipost.send(activity, URLs.GET_ORDER, postParams, i, true);
    }

    //核销订单
//    public static void send_CheckOrder(Activity a,String out_trade_no,float total_amount, IHttpPostListener i) {
//        Map<String, Object> postParams = new HashMap<String, Object>();
//        postParams.put("out_trade_no", out_trade_no);
//        postParams.put("total_amount",total_amount);
//        Ipost.send(a, URLs.CHECKORDER, postParams, i, true);
//    }

    /**
     * 判断是是否有录音权限
     */
    // 音频获取源
//    public static int audioSource = MediaRecorder.AudioSource.MIC;
//    // 设置音频采样率，44100是目前的标准，但是某些设备仍然支持22050，16000，11025
//    public static int sampleRateInHz = 44100;
//    // 设置音频的录制的声道CHANNEL_IN_STEREO为双声道，CHANNEL_CONFIGURATION_MONO为单声道
//    public static int channelConfig = AudioFormat.CHANNEL_IN_STEREO;
//    // 音频数据格式:PCM 16位每个样本。保证设备支持。PCM 8位每个样本。不一定能得到设备支持。
//    public static int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
//    // 缓冲区字节大小
//    public static int bufferSizeInBytes = 0;

//    public static boolean checkAudioPermission(final Context context) {
//        bufferSizeInBytes = 0;
//        bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz,
//                channelConfig, audioFormat);
//        AudioRecord audioRecord = new AudioRecord(audioSource, sampleRateInHz,
//                channelConfig, audioFormat, bufferSizeInBytes);
//        //开始录制音频
//        try {
//            // 防止某些手机崩溃，例如联想
//            audioRecord.startRecording();
//        } catch (IllegalStateException e) {
//            e.printStackTrace();
//            Lg.d("checkAudioPermission IllegalStateException" + e);
//        }
//        /**
//         * 根据开始录音判断是否有录音权限
//         */
//        if (audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING
//                && audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED) {
//            Lg.d("audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING : " + audioRecord.getRecordingState());
////            AVLogUtils.e(TAG, "audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING : " + audioRecord.getRecordingState());
//            return false;
//        }
//
//        if (audioRecord.getRecordingState() == AudioRecord.RECORDSTATE_STOPPED) {
//            //如果短时间内频繁检测，会造成audioRecord还未销毁完成，此时检测会返回RECORDSTATE_STOPPED状态，再去read，会读到0的size，所以此时默认权限通过
//            return true;
//        }
//
//        byte[] bytes = new byte[1024];
//        int readSize = audioRecord.read(bytes, 0, 1024);
//        if (readSize == AudioRecord.ERROR_INVALID_OPERATION || readSize <= 0) {
//            Lg.d("readSize illegal : " + readSize);
////            AVLogUtils.e(TAG, "readSize illegal : " + readSize);
//            return false;
//        }
//        audioRecord.stop();
//        audioRecord.release();
//        audioRecord = null;
//
//        return true;
//    }


//    public static final int CAMERA_OK = 1;
//    public static final int RECORD_AUDIO_OK = 2;
//
//    public static boolean checkCameraPermission(Activity activity) {
//        if (Build.VERSION.SDK_INT > 22) {
//            if (ContextCompat.checkSelfPermission(activity,
//                    android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
//                //先判断有没有权限 ，没有就在这里进行权限的申请
//                ActivityCompat.requestPermissions(activity,
//                        new String[]{android.Manifest.permission.CAMERA}, CAMERA_OK);
//                return false;
//            } else {
//                //说明已经获取到摄像头权限了 想干嘛干嘛
//                return true;
//            }
//        } else {
//            //这个说明系统版本在6.0之下，不需要动态获取权限。
//            return true;
//        }
//    }
//
//    public static boolean checkAudioPermission(Activity activity) {
//        if (Build.VERSION.SDK_INT > 22) {
//            if (ContextCompat.checkSelfPermission(activity,
//                    Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
//                //先判断有没有权限 ，没有就在这里进行权限的申请
//                ActivityCompat.requestPermissions(activity,
//                        new String[]{android.Manifest.permission.RECORD_AUDIO}, RECORD_AUDIO_OK);
//                return false;
//            } else {
//                //说明已经获取到摄像头权限了 想干嘛干嘛
//                return true;
//            }
//        } else {
//            //这个说明系统版本在6.0之下，不需要动态获取权限。
//            return true;
//        }
//    }


}
